package com.xing.util;

import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.Date;

import net.sf.json.JsonConfig;
import net.sf.json.processors.JsonValueProcessor;

public class JsonDateValueProcessor implements JsonValueProcessor {

	private String datePattern = "yyyy-MM-dd HH:mm:ss";
	
	public JsonDateValueProcessor() {
		
	}
	
	public JsonDateValueProcessor(String format) {
		this.datePattern = format;
	}
	
	@Override
	public Object processArrayValue(Object arg0, JsonConfig arg1) {
		return process(arg0);
	}

	@Override
	public Object processObjectValue(String arg0, Object arg1, JsonConfig arg2) {
		return process(arg1);
	}

	private Object process(Object value) {
		if (value instanceof Timestamp) {
			SimpleDateFormat sdf = new SimpleDateFormat(datePattern);
			return sdf.format((Timestamp) value);
		}
		
		return value == null ? "" : value;
	}
}
